﻿using System;
namespace Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg {
    
    
    public partial class SooritaKanne : global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.ISooritaKanne {
        
        private string @__kandeId;
        
        private global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.XKandeliik @__kandeliik;
        
        private global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.ISeisundType @__seisund;
        
        private string @__eelmineLahend;
        
        private System.DateTime @__kandeKuupaev;
        
        private global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.ISooritakanneAmetitoiming @__ametitoiming;
        
        private System.Collections.Generic.List<global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.IRiigiloivType> @__riigiloivud = new System.Collections.Generic.List<global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.IRiigiloivType>();
        
        private global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.ISooritakanneKandesisu @__kandeSisu;
        
        private string @__markus;
        
        private System.Collections.Generic.List<global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.IDokumentType> @__dokumendid = new System.Collections.Generic.List<global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.IDokumentType>();
        
        private global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.XRegpiirkond @__registriPiirkond;
        
        public SooritaKanne() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public SooritaKanne(string @kandeId, global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.XKandeliik @kandeliik, global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.ISeisundType @seisund, string @eelmineLahend, System.DateTime @kandeKuupaev, global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.ISooritakanneAmetitoiming @ametitoiming, System.Collections.Generic.List<global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.IRiigiloivType> @riigiloivud, global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.ISooritakanneKandesisu @kandeSisu, string @markus, System.Collections.Generic.List<global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.IDokumentType> @dokumendid, global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.XRegpiirkond @registriPiirkond) {
            this.@__kandeId = @kandeId;
            this.@__kandeliik = @kandeliik;
            this.@__seisund = @seisund;
            this.@__eelmineLahend = @eelmineLahend;
            this.@__kandeKuupaev = @kandeKuupaev;
            this.@__ametitoiming = @ametitoiming;
            this.@__riigiloivud = @riigiloivud;
            this.@__kandeSisu = @kandeSisu;
            this.@__markus = @markus;
            this.@__dokumendid = @dokumendid;
            this.@__registriPiirkond = @registriPiirkond;
        }
        
        /// <summary>
        /// Required parameters
        /// </summary>
        public SooritaKanne(string @kandeId, global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.XKandeliik @kandeliik, System.DateTime @kandeKuupaev, global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.ISooritakanneAmetitoiming @ametitoiming) {
            this.@__kandeId = @kandeId;
            this.@__kandeliik = @kandeliik;
            this.@__kandeKuupaev = @kandeKuupaev;
            this.@__ametitoiming = @ametitoiming;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected SooritaKanne(ISooritaKanne @sooritaKanne) {
            this.@__kandeId = @sooritaKanne.KandeId;
            this.@__kandeliik = @sooritaKanne.Kandeliik;
            this.@__seisund = @sooritaKanne.Seisund;
            this.@__eelmineLahend = @sooritaKanne.EelmineLahend;
            this.@__kandeKuupaev = @sooritaKanne.KandeKuupaev;
            this.@__ametitoiming = @sooritaKanne.Ametitoiming;
            this.@__riigiloivud = @sooritaKanne.Riigiloivud;
            this.@__kandeSisu = @sooritaKanne.KandeSisu;
            this.@__markus = @sooritaKanne.Markus;
            this.@__dokumendid = @sooritaKanne.Dokumendid;
            this.@__registriPiirkond = @sooritaKanne.RegistriPiirkond;
        }
        
        public virtual string KandeId {
            get {
                return this.@__kandeId;
            }
            set {
                this.@__kandeId = value;
            }
        }
        
        public virtual global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.XKandeliik Kandeliik {
            get {
                return this.@__kandeliik;
            }
            set {
                this.@__kandeliik = value;
            }
        }
        
        public virtual global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.ISeisundType Seisund {
            get {
                return this.@__seisund;
            }
            set {
                this.@__seisund = value;
            }
        }
        
        public virtual string EelmineLahend {
            get {
                return this.@__eelmineLahend;
            }
            set {
                this.@__eelmineLahend = value;
            }
        }
        
        public virtual System.DateTime KandeKuupaev {
            get {
                return this.@__kandeKuupaev;
            }
            set {
                this.@__kandeKuupaev = value;
            }
        }
        
        public virtual global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.ISooritakanneAmetitoiming Ametitoiming {
            get {
                return this.@__ametitoiming;
            }
            set {
                this.@__ametitoiming = value;
            }
        }
        
        public virtual System.Collections.Generic.List<global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.IRiigiloivType> Riigiloivud {
            get {
                return this.@__riigiloivud;
            }
            set {
                this.@__riigiloivud = value;
            }
        }
        
        public virtual global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.ISooritakanneKandesisu KandeSisu {
            get {
                return this.@__kandeSisu;
            }
            set {
                this.@__kandeSisu = value;
            }
        }
        
        public virtual string Markus {
            get {
                return this.@__markus;
            }
            set {
                this.@__markus = value;
            }
        }
        
        public virtual System.Collections.Generic.List<global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.IDokumentType> Dokumendid {
            get {
                return this.@__dokumendid;
            }
            set {
                this.@__dokumendid = value;
            }
        }
        
        public virtual global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.XRegpiirkond RegistriPiirkond {
            get {
                return this.@__registriPiirkond;
            }
            set {
                this.@__registriPiirkond = value;
            }
        }
    }
}
